/*
 * Universidad del Valle de Guatemala
 * CC2003 Algoritmos y Estructuras de Datos
 * Hoja de Trabajo No.3
 * Sorting.java
 */

/**
 *
 * @author Luis Antonio Siguenza Leiva
 * Carné: 10297
 * Fecha de creación: 07 de Agosto del 2011
 * Descripción: Clase que contiene los métodos estaticos que sirven
 *              para ordenar listas de numeros enteros.
 */

public class Sorting{

    
     public static void selectionSort(int[] nums) {
    // Loop through each element of the array, sorting as we go.
    // Each time through, find the smallest remaining element, and move it
    // to the first unsorted position in the array.
    
         
    for (int i = 0; i < nums.length; i++) {
      int min = i; // holds the index of the smallest element
      // find the smallest one between i and the end of the array
      for (int j = i; j < nums.length; j++) {
        if (nums[j] < nums[min])
          min = j;
      }
      // Now swap the smallest one with element i.
      // This leaves all elements between 0 and i sorted.
      int tmp;
      tmp = nums[i];
      nums[i] = nums[min];
      nums[min] = tmp;
      }
    }
    
    
}
    
   